package br.ufrn.sigtcc.model.entidades;

import static javax.persistence.GenerationType.AUTO;
import static javax.persistence.TemporalType.DATE;

import java.io.Serializable;
import java.util.Calendar;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.Transient;

/**
 * Entity implementation class for Entity: EntidadeCurso
 *
 */
@Entity
@Table(name="CURSO")

public class Curso implements Serializable {
	
	@Id
	@GeneratedValue(strategy = AUTO)
	private Long id;
	@Column(length = 30, nullable = true, unique = true)
	private String nome;
	@Column(nullable = false, length = 20)
	private String habilitacao;
	@Column(length = 10)
	private String turno;
	@Column(nullable = false)
	@Temporal(DATE)
	private Calendar dataCriacao;
	@Column(nullable = false, length = 15)
	private String modalidade;
	@Column(nullable = false, length = 20)
	private String sede;
	@Column(length = 40)
	private String coordenador;
	@OneToMany(mappedBy="curso",fetch = FetchType.EAGER)
	private List<Aluno> alunos;

	
	@Transient
	private static final long serialVersionUID = 1L;

	public Curso() {
		super();
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getHabilitacao() {
		return habilitacao;
	}

	public void setHabilitacao(String habilitacao) {
		this.habilitacao = habilitacao;
	}

	public String getTurno() {
		return turno;
	}

	public void setTurno(String turno) {
		this.turno = turno;
	}

	public Calendar getDataCriacao() {
		return dataCriacao;
	}

	public void setDataCriacao(Calendar dataCriacao) {
		this.dataCriacao = dataCriacao;
	}

	public String getModalidade() {
		return modalidade;
	}

	public void setModalidade(String modalidade) {
		this.modalidade = modalidade;
	}

	public String getSede() {
		return sede;
	}

	public void setSede(String sede) {
		this.sede = sede;
	}

	public String getCoordenador() {
		return coordenador;
	}

	public void setCoordenador(String coordenador) {
		this.coordenador = coordenador;
	}

	public List<Aluno> getAlunos() {
		return alunos;
	}

	public void setAlunos(List<Aluno> alunos) {
		this.alunos = alunos;
	}   

	
}
